package org.supda.system.service;

import java.util.List;

import org.hyperic.sigar.SigarException;
import org.supda.system.entity.TMessage;
import org.supda.system.entity.system.DiskEntity;
import org.supda.system.entity.system.SystemPropertySingleton;
import org.supda.system.util.DataTablePageUtil;

public interface TMessageService {

	/**
	 * 获取当前的所有磁盘的信息
	 * @return
	 * @throws SigarException 
	 */
	List<DiskEntity> revertAllDisksInfo();
	
	/**
	 * 获取当前JVM运行时的服务器数据
	 * @return
	 */
	SystemPropertySingleton revertAllSystemProperty();
	
	/**
	 * 根据Id查询出Message信息
	 * @param id
	 * @return
	 */
	TMessage findMessageById(Long id);

	/**
	 * 把所有待消费的信息入库
	 * @param roleId roleId下的所有角色
	 * @param retryTImes 失败重试次数
	 * @param content 消息内容
	 */
	void save(String content, int retryTimes, Long roleId, String sender, Short messageType);

	/**
	 * 分页查询
	 * @param dtp
	 */
	void listByDataTable(DataTablePageUtil<TMessage> dtp);
}
